package com.yidu.dao;

import java.util.List;
import java.util.Map;

import com.yidu.model.SnComInventory;
import com.yidu.model.SnComPurDetail;
import com.yidu.model.SnComPurchase;

public interface SnComPurDetailMapper {
    int deleteByPrimaryKey(String pdId);

    int insert(SnComPurDetail record);

    int insertSelective(SnComPurDetail record);

    SnComPurDetail selectByPrimaryKey(String pdId);

    int updateByPrimaryKeySelective(SnComPurDetail record);

    int updateByPrimaryKey(SnComPurDetail record);

    /**
     * 查询详情表
     * @param maps
     * @return
     */
	List<SnComPurchase> findFinancesAll(Map<String, Object> maps);

	/**
	 * 查询详情表行数
	 * @param maps
	 * @return
	 */
	int findAllFinancesCount(Map<String, Object> maps);

	/**
	 * 根据采购id删除采购详情表
	 * @param purId
	 * @return
	 */
	int delete(String purId);

	/**
	 * 根据采购id查询采购详情表的商品id
	 * @param purId
	 * @return
	 */
	List<SnComPurchase> findDetailById(String purId);

	/**
	 * 根据采购id查询采购详情表
	 * @param purId
	 * @return
	 */
	List<SnComPurDetail> findDetailBypurId(String purId);

	/**
	 * 根据详情的商品id查询库存商品的数量
	 * @param comId
	 * @return
	 */
	SnComInventory findByComId(String comId);

	/**
	 * 总公司库存减少
	 * @param sci
	 * @return
	 */
	int updateSum(SnComInventory sci);

	/**
	 * 分公司库存增加
	 * @param sci
	 * @return
	 */
	int updateCent(SnComInventory sci);

	/**
	 * 查询总公司库存的改变的商品的商品库存id
	 * @param sci
	 * @return
	 */
	SnComInventory findSum(SnComInventory sci);
	
	/**
	 * 查询分公司库存的改变的商品的商品库存id
	 * @param sci
	 * @return
	 */
	SnComInventory findCent(SnComInventory sci);

	/**
	 * 点击退货提交
	 * @param scpd
	 * @return
	 */
	int findBypdNumber(SnComPurDetail scpd);

	/**
	 * 通过商品id和采购id查询采购详情表
	 * @param pdId
	 * @param comId
	 * @return
	 */
	SnComPurDetail findByIdBianJi(SnComPurDetail scpd);
	/**
     * 查询饼图
	 * @param year 
     * @return map类型集合
     */
	List<Map<String, Object>> findBingAll(String year);
	/**
	 * 查询柱状图 前三商品的业绩
	 * @return map类型集合
	 */
	List<Map<String, Object>> findThree();
	/**
	 * c查询柱状图前三商品每个月份的数量
	 * @param aMap 月份 商品id
	 * @return 数量
	 */
	Integer findZhuAll(Map<String, Object> aMap);
	/**
	 * 根据月份查询
	 * @param string 月份
	 * @return 商品采购详情集合
	 */
	List<SnComPurDetail> findXianAll(String string);
	/**
	 * 查询雷达图 销量排行前五的商品
	 * @return map类型集合
	 */
	List<Map<String, Object>> findLeiAll();
}